package 装饰器模式;

/**
 * 装饰器模式（Decorator Pattern）允许向一个现有的对象添加新的功能，同时又不改变其结构
 * 这种类型的设计模式属于结构型模式，它是作为现有的类的一个包装
 */
public class Test {
    public static void main(String[] args) {
        // 测试单纯的食物
        Chicken chicken = new Chicken();
        System.out.println(chicken.cook());
        // 单重装饰食物
        RoastFood roastFood = new RoastFood(chicken);
        System.out.println(roastFood.cook());
        // 多重装饰食物
        SteamedFood steamedFood = new SteamedFood(roastFood);
        System.out.println(steamedFood.cook());
    }
}
